home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1995 / MacHack 1995.toast / Presentations / Presentations ’88 / Feldt's Object Stuff / SSG include / beacon.h next >
Text File  |  1987-02-28  |  5KB  |  101 lines

  1. /*            Beacon - Multiple Communication Route Message Center            */
  2.  
  3. /*                       private library header file                            */
  4. /*                   copyright © 1987 Small Systems Guild                         */
  5.  
  6. /*                        Lightspeed C compiler 2.01                            */
  7. /*                    c-tree ISAM/B-Tree v4.1 release D                        */
  8. /*                      Extender vol1 3.03, vol2 3.b1                            */
  9. /*                       Communications Extender 1.a7                            */
  10.  
  11. /*                  designed and implemented by David A. Feldt                    */
  12. /*                       President - Small Systems Guild                        */
  13. /*                PO box 2751, Ann Arbor, MI 48106 (313) 996-4238                */
  14.  
  15. /* DAF    created the file from Polymath, ClipDemo, and other files    2/28/87    */
  16.  
  17. #define        RRH_MAXMENUOPTS    80        /* max menu options per host menu file    */
  18.  
  19. #define        RRH_MORE_EQUAL    0        /* user access must be >= accessLevel    */
  20. #define        RRH_LESS_EQUAL    1        /* user access must be <= accessLevel    */
  21. #define        RRH_EQUAL        2        /* user access must be  = accessLevel    */
  22.  
  23. #define        RRH_ERASE_MASK    0x01    /* 0 = active, 1 = delete message flag     */
  24. #define        RRH_REPLY_MASK    0x02    /* 0 = original, 1 = reply message flag */
  25. #define        RRH_PRIV_MASK    0x04    /* 0 = public, 1 = private message flag */
  26.  
  27. Struct    RRHOption {            /* Red Ryder Host menu option file format, v1.4    */
  28.             unsigned char    optionType;            /* activity command invokes    */
  29.             unsigned char    optionText[61];        /* command text description    */
  30.             unsigned char    optionChar;            /* select char user types    */
  31.             unsigned char    optionData[41];        /* command optional data    */
  32.             unsigned char    accessMod;             /* >=, <= or = accessLevel    */
  33.             unsigned char    accessLevel;        /* user accessLevel needed    */
  34.         };
  35. typedef struct    RRHOption    RRHOption;
  36.  
  37. Struct    RRHMenu {            /* Red Ryder Host menu file format, version 1.4    */
  38.             unsigned char    title1[61];            /* first line of menu title    */
  39.             unsigned char    title2[61];            /* second line of menu title*/
  40.             unsigned char    title3[61];            /* third line of menu title    */
  41.             unsigned char    optCount;              /* how many options follow    */
  42.             RRHOption        option[RRHMAXMENUOPTS];    /* variable length array*/
  43.         };
  44. typedef struct    HostMenu    HostMenu;
  45.  
  46. Struct    RRHMessages {        /* Red Ryder Host message file format, v1.4        */
  47.             unsigned char    msgPath[50];  /* MSHHDR & MSGTXT files vol/path    */
  48.             long            lowMsg;                /* lowest message number    */
  49.             long            highMsg;            /* highest message number    */
  50.             long            reserved;            /* currently unused, rsrvd    */
  51.             unsigned char    msgSecTitle[20][26];/* 20 message section titles*/
  52.         };
  53. typedef struct    RRHMessages    RRHMessages;
  54.  
  55. Struct    RRHDateTime {        /* Red Ryder Host message date/time format,v1.4    */
  56.             unsigned char    month;              /* month number  (01 to 12)    */
  57.             unsigned char    day;                /* day number    (01 to 31)    */
  58.             unsigned char    year;                  /* year number   (00 to 99)    */
  59.             unsigned char    hour;                /* hour number   (00 to 23)    */
  60.             unsigned char    minute;              /* minute number (00 to 59)    */
  61.             unsigned char    second;                /* second number (00 to 59)    */
  62.         };
  63. typedef struct    RRHDateTime    RRHDateTime;
  64.  
  65. Struct    RRHMsgHdr {            /* Red Ryder Host message header format, v1.4    */
  66.             unsigned char    status;              /* erase,reply,private bits    */
  67.             unsigned char    rsrv1;                /* currently unused, rsrvd    */
  68.             long            number;                /* message identity number    */
  69.             unsigned char    section;              /* message section number    */
  70.             unsigned char    rsrv2;                /* currently unused, rsrvd    */
  71.             RRHDateTime        date;                /* time & date msg created    */
  72.             unsigned char    from[32];            /* who message came from    */
  73.             unsigned char    to[32];                /* who message addressed to    */
  74.             unsigned char    subject[42];        /* message subject text        */
  75.             long            textOffset;            /* byte offset into MSGTXT     */
  76.             long            length;                /*message text size in bytes*/
  77.         };
  78. typedef struct    RRHMsgHdr    RRHMsgHdr;
  79.  
  80. Struct    RRHUserlog {        /* Red Ryder Host userlog file format, v1.4        */
  81.             unsigned char    first[16];            /* user's first name        */
  82.             unsigned char    last[16];            /* user's last name            */
  83.             unsigned char    address[31];        /* city user calling from    */
  84.             unsigned char    password[9];        /* user selectable password    */
  85.             unsigned int    calls;              /* total times user called    */
  86.             RRHDateTime        date;                /* time of most recent call    */
  87.             unsigned char    timeLimit;            /* max minutes per session    */
  88.             unsigned char    accessLevel;        /* current user accessLevel    */
  89.             unsigned char    rsrv[3];            /* currently unused, rsrvd    */
  90.             unsigned char    flags;                /* user preference flags    */
  91.             unsigned int    uploads;              /* total user file uploads    */
  92.             unsigned int    downloads;          /* total user file downloads*/
  93.             unsigned int    privMsg;              /* total private msgs sent    */
  94.             unsigned int    pubMsg;              /* total public msgs sent    */
  95.             unsigned char    msgGrp1;            /* combined msg group  2-9    */
  96.             unsigned char    msgGrp2;            /* combined msg group 10-17    */
  97.             unsigned char    msgGrp3;            /* combined msg group 18-20    */
  98.         };
  99. typedef struct    RRHUserlog    RRHUserlog;
  100.  
  101.